package com.yida.wy.basic.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yida.common.core.annotation.Excel;
import com.yida.wy.common.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 基础数据（楼栋）对象
 *
 * @author lqq
 * @date 2023-11-21
 */
@Data
@ApiModel(value = "导入楼盘-楼栋列表DTO")
public class WyImpBuildListDTO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value= "楼栋ID")
    private Long buildId;

    @ApiModelProperty(value= "小区ID")
    private Long communityId;

    @ApiModelProperty(value= "楼栋名称")
    private String buildName;

    @ApiModelProperty(value= "建筑总面积")
    private BigDecimal totalSize;

    @ApiModelProperty(value= "期房总面积")
    private BigDecimal periodSize;

    @ApiModelProperty(value= "业主总户数")
    private Integer totalOwner;

    @ApiModelProperty(value= "其中住宅数")
    private Integer residence;

    @ApiModelProperty(value= "其中非住宅数")
    private Integer nonResidence;

    @ApiModelProperty(value= "地区ID")
    private Long areaId;

    @ApiModelProperty(value= "街道ID")
    private Long streetId;

    @ApiModelProperty(value= "自然幢标识码")
    private String buildCode;

    @ApiModelProperty(value= "总层数")
    private Integer totalLayer;

    @ApiModelProperty(value= "自然幢号")
    private String buildNo;

    @ApiModelProperty(value= "楼栋类型")
    private String buildType;

    @ApiModelProperty(value= "是否为公用户(0=不是,1=是)")
    private String publicFlag;

    @Excel(name = "公用户创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value= "公用户创建日期")
    private Date publicCreateTime;

    @ApiModelProperty(value= "开发项目标识码")
    private String projectCode;

    @ApiModelProperty(value= "是否是导入自建楼盘(0=不是,1=是)")
    private String importFlag;

    @ApiModelProperty(value= "单元数量")
    private Integer unitTotal;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value= "交付日期")
    private Date deliverDate;

}
